Enhancements to vi record job ticketing and processing

ABSTRACT

Job tickets containing scoped instructions can control the processing of a PDL file to produce a data stream that is efficiently processed by a rendering device such as a raster image processor or printer. Job tickets contain instructions for processing a PDL file. A scoped instructions controls processing of only those PDL file sections within a certain scope. Scope can be specified on a per instruction basis.

TECHNICAL FIELD

Embodiments are related to printing and more specifically to the processing of document descriptions expressed in the form of a page description language (PDL). Embodiments are also further related to the processing of variable instruction (VI) PDL document descriptions.

BACKGROUND

Variable-information (VI) printing is a form of on-demand printing in which elements such as text, graphics and images may be changed from one printed piece to the next without stopping or slowing down the printing process, using information from a database or external file. For example, a set of personalized letters, each with the same basic layout, can be printed with a different name and address on each letter. Variable data printing is often used for direct marketing, customer relationship management and advertising and invoicing.

In printing systems, print job ticketing can drive data-driven customization using digital technologies for VI printing. The VI printing techniques can allow for document personalization can range from varying text elements such as name and address, to varying graphics, images and page layouts for each recipient of such document. Personalized VI printing can be done, for example, by overprinting preprinted shells, or through a single pass using digital production color equipment. VI printing can enable, for example, the production of different versions of books and/or customized books within a single press run. VI printings can also provide customized information in the form of an address label, and personalized information or the like on the inside or outside of finished books. VI printing techniques can therefore greatly enhance the functionality and capabilities of printing systems.

A job ticket contains instructions for the printing of one or more specification files. The specification files can use a page description language, such as postscript, to describe a document or part of a document. When a VI PDL is used to describe the document, the values of certain data fields can be supplied by the job ticket or by another PDL file. A digital front end (DFE) can process the job ticket and submit data to a rendering device, such as a printer, that then produces the desired document. Those practiced in that art of variable instruction processing are familiar with PDLs, PDL files, and job tickets

Most VI printing systems lack the capacity to completely control how a VI PDL is printed. This generally results from the lack of a clear delineation of the structural hierarchy that's part of a VI data stream. In many cases, this is an inherent property of the PDL, For example Native mode variable intelligent personalized PostScript VIPP does not provide the ability to address individual records in a VI PDL. Other PDLs, in particular newer VI PDLs such as personalized print markup language (PPML), provide more granularity about the structure within the VI PDL. The systems that can understand these PDLs, however, do not take advantage of the level of control that newer PDLs potentially offer. If there is a need to finely control how a PDL is printed, the onus is placed on the VI emitter to generate the required VI PDL. While this can be workable, it means the VI authoring application must understand production requirements when creating PDLs. This eliminates production flexibility and can be problematic since any change in production requires re-generation of a potentially very large VI PDL.

A need therefore exists for improved methods and systems for finely controlling the processing of job ticketed PDL files.

BRIEF SUMMARY

It is therefore an aspect of the embodiments to obtain a job ticket comprising a multiplicity of scoped instructions and a multiplicity of scope designations. Scoped instructions have a scope that is determined by the scope designations associated with the scoped instruction.

It is also an aspect of the embodiments to obtain a page description language (PDL) file comprising a multiplicity of variable instruction (VI) records. Each VI record describes one or more pages of a document. The scope designations specify VI records and, as such, the scope of each scoped instruction covers one or more VI records. The widest possible scope is the entire PDL file whereas the smallest possible scope is a single VI record. Those practiced in the art of VI processing are familiar with VI records.

It is a further aspect of the embodiments to apply each scoped instructions to those VI records within its scope.

It is a yet further aspect of the embodiments to print a document that is in compliance with the job ticket and that is specified by the PDL file.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, in which like reference numerals refer to identical or functionally similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the background of the invention, brief summary of the invention, and detailed description of the invention, serve to explain the principles of the present invention

FIG. 1 illustrates a job ticket in accordance with aspects of the embodiments;

FIG. 2 illustrates a document produced in compliance with a job ticket and that is specified by the PDL file in accordance with aspects of the embodiments; and

FIG. 3 illustrates a high level flow diagram of processing a job ticket in accordance with aspects of the embodiments.

DETAILED DESCRIPTION OF THE INVENTION

The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate embodiments and are not intended to limit the scope of the invention.

Job tickets containing scoped instructions can control the processing of a PDL file to produce a data stream that is efficiently processed by a rendering device such as a raster image processor or printer. Job tickets contain instructions for processing a PDL file. A scoped instructions controls processing of only those PDL file sections within a certain scope. Scope can be specified on a per instruction basis.

FIG. 1 illustrates a job ticket (JT) 101 in accordance with aspects of the embodiments. The job ticket 101 contains scoped instructions 102 associated with scopes 103. The job ticket can also contain non-scoped instructions such as those used in the prior art. The “Print 1-N” scoped instruction 104 has PDL wide scope 105 as indicated by the “PDL File” scope designator. As such, the PDL file is printed in order starting with the first VI record and proceeding to the last VI record. The “Print N-1” scoped instruction 106 has a scope covering all VI records 107. As such, the pages in each VI record are printed in reverse order proceeding from the last page to the first page. The “All VI records” scope is functionally equivalent to a list containing all the VI records or a range specification covering all the VI records. The smaller scope “All VI Records” can override the wider scope “PDL File”. As such, “Print 1-N” 104 instruction causes the VI records to be printed 1-N, meaning the first VI record is printed, then the second, and so on. The “Print N-1” 106 instruction, having smaller scope, causes the pages within each VI record to be printed N-1. The first page to be printed is therefore the last page of the first record and the last page to be printed is the first page of the last record.

The “Use Background B” scoped instruction 108 has a scope covering VI record 3 109 as indicated by the “VI Records 3” scope designator. As such, the pages of VI record 3 will be printed over a background specified as “B”. Note that if a PDL Wide background was chosen by a “Use Background A” scoped instruction having “PDL File” scope, then every page in the document, except for those pages in VI record 3, would be printed with a background specified as “A”. The smaller scoped instruction “Use Background B” 108 would override the more widely scoped instruction.

The “Pad Even” scoped instruction 110 has a scope covering VI records 4 and 5 111. The scope designator “VI Records 4, 5” is in list form. As such, an even number of pages will be produced by processing and printing VI record 4 and an even number of pages will also be produced by processing and printing VI record 5.

The “Pad Odd” scoped instruction 112 has a scope covering VI record 2 113. As such, an odd number of pages are produced by processing and printing VI record 2.

The “Pad Modulo 4” scoped instruction 114 has a scope covering VI record 3 115. As such, the number of pages produced by processing and printing VI record 3 will be a multiple of 4.

The “Watermark 3 b” scoped instruction 116 has a scope covering VI records 2-5 117. The “VI Records 2-5” scope designator is formatted as a range with “2-5” indicating 2 through 5 inclusive. As such, the pages produced by processing and printing VI records 2-5 will have watermark 3 b.

The “Barcode N” scoped instruction 118 has a scope covering VI record 1 119. As such, the pages produced by processing and printing VI record 1 will be marked with the specified barcode.

The “Annotate A” scoped instruction 120 has a scope covering VI record 5 121. As such, the pages produced by processing and printing VI record 5 will be annotated with the specified annotation.

The “Exception Media 3” scoped instruction 122 has a scope covering VI record 1 123. As such, the pages produced by processing and printing VI record 1 will be on media type 3. A media type specifies a certain kind of media that can be printed upon such as paper having a certain weight, color, and coating. The scoped instruction is an exception because it can lead to a requirement for special handling.

The “Print Cover Pages” scoped instruction 12 has a PDL wide scope 125. As such, cover pages are produced. The scope is PDL wide such that the covers can be printed first and positioned such that they fold around the subsequently printed VI records.

FIG. 2 illustrates a document 214 produced in compliance with a job ticket 101 and that is specified by the PDL file 201 in accordance with aspects of the embodiments. The PDL file 201 contains five VI records VI record 1 202 specifies the covers 203. The other VI records 204, 206, 208, 210 specify the pages 205, 207, 209, 211 of various sections of the document 214. The PDL file 201 and job ticket 101 can be processed by a digital front end (DFE) 212 and printed by a rendering device 213.

FIG. 3 illustrates a high level flow diagram of processing a job ticket 101 and PDL file 201 in accordance with aspects of the embodiments. After the start 301, the effects of PDL wide programming are determined 302. Instructions having PDL wide scope make up the PDL wide programming. Content driven by the PDL wide programming is then printed 303. The covers can be an example of PDL wide programming driven content. Next, the order of printing VI records is determined 304 and the first to print VI record is set as the current VI record 305.

JT resolution is then performed for the current VI record 306. Some VI records are affected by numerous scoped instructions and the JT resolution step applies all of the applicable instructions to the current VI record. The current VI record is then printed 307. If there are no more VI records left to print 308, then the process is done 310. Otherwise, the next VI record to print is set to the current VI record 309 and the process loops back the JT resolution step 306.

Embodiments can be implemented in the context of modules. In the computer programming arts, a module can be typically implemented as a collection of routines and data structures that performs particular tasks or implements a particular abstract data type. Modules generally can be composed of two parts. First, a software module may list the constants, data types, variables routines and the like that that can be accessed by other modules or routines. Second, a software module can be configured as an implementation, which can be private (i.e., accessible perhaps only to the module), and that contains the source code that actually implements the routines or subroutines upon which the module is based. Thus, for example, the term module, as utilized herein generally refers to software modules or implementations thereof. Such modules can be utilized separately or together to form a program product that can be implemented through signal-bearing media, including transmission media and recordable media.

It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.

It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims: 

1. A system comprising: a job ticket comprising a multiplicity of scoped instructions and a multiplicity of scope designations wherein each of the scoped instructions is associated with at least one of the scope designations such that each of the scoped instructions has a scope; a page description language (PDL) file comprising a multiplicity of variable instruction (VI) records each comprising at least one page description wherein the scope designations specify at least one of the variable instruction records; a scope resolution module that applies each one the scoped instructions to those pages within the scope of the scoped instruction; and a rendering device that prints a document that is in compliance with the job ticket and specified by the PDL file.
 2. The system of claim 1 wherein one of the scoped instructions is a command to print in order from first to last.
 3. The system of claim 1 wherein one of the scoped instructions is a command to print in order from last to first.
 4. The system of claim 1 wherein one of the scoped instructions is a command to print over a background.
 5. The system of claim 1 wherein one of the scoped instructions is a watermark command.
 6. The system of claim 1 wherein one of the scoped instructions is a barcode command.
 7. The system of claim 1 wherein one of the scoped instructions is an annotate command.
 8. The system of claim 1 wherein one of the scoped instructions is a command to print in order from first to last, wherein one of the scoped instructions is a command to print in order from last to first, wherein one of the scoped instructions is a command to print over a background, wherein one of the scoped instructions is a watermark command, wherein one of the scoped instructions is a barcode command, and wherein one of the scoped instructions is an annotate command.
 9. A system comprising: a job ticket comprising a multiplicity of scoped instructions and a multiplicity of scope designations wherein each of the scoped instructions is associated with at least one of the scope designations such that each of the scoped instructions has a scope; a page description language (PDL) file comprising a multiplicity of variable instruction (VI) records each comprising at least one page description wherein the scope designations specify at least one of the variable instruction records and wherein at least one of the scope designations specifies the entire PDL file such that at least one scoped instruction has PDL file scope; a scope resolution module wherein the scope resolution module determines the effect of the at least one scoped instruction having PDL file scope, wherein the scope resolution module determines a print order of the VI print records, wherein the scope resolution module processes each of the VI records in print order wherein processing a particular VI record comprises determining which of the scoped instructions to apply to the particular VI record and applying those instructions to the particular VI record.
 10. The system of claim 9 further comprising a digital front end comprising the scope resolution module wherein the digital front end submits content driven by the at least one scoped instruction having PDL wide scope to a rendering device before submitting content having less than PDL wide scope.
 11. The system of claim 9 wherein one of the scoped instructions is a command to print in order from first to last.
 12. The system of claim 9 wherein one of the scoped instructions is a command to print in order from last to first.
 13. The system of claim 9 wherein one of the scoped instructions is a command to print over a background.
 14. The system of claim 9 wherein one of the scoped instructions is a watermark command.
 15. The system of claim 9 wherein one of the scoped instructions is a barcode command.
 16. The system of claim 9 wherein one of the VI records specifies cover pages and wherein one of the scoped instructions is a command to print the cover pages and has PDL wide scope.
 17. The system of claim 9 wherein one of the scoped instructions is a command to print in order from first to last, wherein one of the scoped instructions is a command to print in order from last to first, wherein one of the scoped instructions is a command to print over a background, wherein one of the scoped instructions is a watermark command, wherein one of the scoped instructions is a barcode command, wherein one of the scoped instructions is an annotate command and wherein one of the scoped instructions is a command to print the cover pages and has PDL wide scope.
 18. A method comprising: obtaining a job ticket comprising a multiplicity of scoped instructions and a means for specifying a scope for each of the scoped instructions; obtaining a page description language (PDL) file comprising a multiplicity of variable instruction (VI) records each comprising at least one page description; and processing each of the VI records wherein processing a particular VI records comprises: a step for applying scoped instructions to the particular VI record; and printing the particular VI record.
 19. The method of claim 18 further comprising: determining a print order of the VI records wherein the VI records are processed in print order.
 20. The method of claim 18 wherein the means for specifying a scope comprises a means for specifying a PDL wide scope and further comprising a step for processing scoped instructions with PDL wide scope before processing instructions not having PDL scope. 